#pragma once

#include "DLOperatorTerm.hpp"
#include "OperatorNames.hpp"

namespace terms {
	namespace dl {
		extern const char DL_UNION_OPERATOR_NAME[];

		template <typename Term, typename L=std::string, typename I=std::string, typename C=std::string, typename R=std::string>
		class DLUnion
			: public DLTypedOperatorTerm<OperatorNames::UNION, TermListType::UNIQUE, Term, L, I, C, R>
		{
		public:
			using DLTypedOperatorTerm<OperatorNames::UNION, TermListType::UNIQUE, Term, L, I, C, R>::TypedDLOperatorTerm;
		};
	}
}

